1998年信息学奥赛NOI联赛
更早
2022-11-16 19:37:58
98次
一、单选题
已知在计算机C:\DOS下有一个正确的FORMAT.COM文件,当执行如下命令:
C:\> FORMAT A: < 回车 > 得到的回答是 bad command or file name 提示信息,下面解释正确的是_____________。
| A. 根目录中没有AUTOEXEC.BAT 文件 |
B. 在执行该命令前操作者没执行过PATH 命令 |
| C. C:\DOS 中的FORMAT.COM文件有错 |
D. 由于AUTOEXEC.BAT 或操作者最后执行过的PATH 命令缺少路径C:\DOS,或者根本没有执行PATH 命令 |
【知识点】 信息学NOI联赛
二、多选题
如果用一个字节来表示整数,最高位用作符号位,其它位表示数值。例如:

①试问这样表示法的整数a 的范围应该是_____________________。
(A) -127 ≤ a ≤ 127 (B) -128 ≤ a ≤ 128
(C) –128 ≤ a < 128 (D) -128 < a ≤ 128
② 在这样表示法中,以下_________说法是正确的。
| A. 范围内的每一个数都只有唯一的格式 |
B. 范围内的每一个数都有两种格式 |
| C. 范围内的一半数有两种格式 |
D. 范围内只有一个数有两种表示格式 |
【知识点】 信息学NOI联赛
三、简答题
Program exp4(input,output);
Const N=3;
VAR I,J,S,X :integer;
P :array[0..n+1] of integer;
G :array[0..100] of integer;
Begin
For I := 0 to 100 do G[I]:=0;
P[0]:=0; P[n+1]:=100;
For I:= 1 to n do read (P[I]); readln;
For I:= 0 to n do
For J:= I+1 to N+1 do
G[abs(P[J]-P[I])]:=G[abs(P[J]-P[I])]+1;
S:=0;
For I:=0 to 100 do
If G[I]>0 then begin
Write(I,:4); S:=S+1;
End;
Writeln;
writeln(‘S=’,S);
Writeln(‘input data:’); readln(X);
Writeln(G[x])
End.
输入:10 20 65
input data: 10
输出:
【知识点】 信息学NOI联赛
Program exp2 (input,output);
Const n=5;
Var i,j,k : integer;
a : array[1..2*n, 1..2*n] of integer;
Begin
K:=1;
For I:=1 to 2*n-1 do
If i<=n then
if odd(i) then
for j:= I downto 1 do
begin
a [I-j+1,j]:=k; k:=k+1
end
else for j: =1 to i do
begin
a[i-j+1,j]:=k; k:=k+1;
end
else if odd(i) then for j:=n downto I-n+1 do
begin
a[I-j+1,j]:=k; k:=k+1;
end
else for j:=I-n+1 to n do
begin
a[I-j+1,j]:=k; k:=k+1;
end;
for I:=1 to n do
begin
for j:=1 to n do
write(a[I,j]:3);
writeln
end;
end.
【知识点】 信息学NOI联赛
Program exp3 (input,output);
Const N=10;
Var
S,I : integer;
Function CO(I1:integer) : integer;
VAR J1,S1 : integer;
Begin
S1:=N;
For J1:= (N-1) downto (N-I1+1) do
S1:= S1*J1 div (N-J1+1);
CO:=S1
End;
Begin
S:=N+1;
For I:= 2 to N do S:=S + CO(I);
Writeln(‘S=’,S);
End.
【知识点】 信息学NOI联赛
Program exp1 (imput,output);
Var i, s, max: integer;
a :array [1..10] of integer;
begin
for i:=1 to 10 do read (a[i]);
max:=a[1] ;s:=a[1];
for i:=2 to 10 do
begin
if s<0 then s:=0;
s:= s+a[i];
if s>max then max:=s
end;
writeln(‘max=’, max)
end.
输入:-2 13 -1 4 7 8 -1 -18 24 6
输出:max=
【知识点】 信息学NOI联赛




,结果统计数字如下: 只读a者8人;只读b者4人;只读c者3人;全部读过的有2人;读过a,b两本书的有4人;读过a,c两本书的有2人;读过b,c两本书的有3人;
的步骤:
往往可以找到一个最小的K值和K个数
使得数列从某项开始都满足:
时,从第3项起(即N>=1)都满足
试对数列
求K和
使得(A)式成立。

